iT邦幫忙

2024 iThome 鐵人賽

DAY 21
0
Software Development

六邊形戰士程式設計系列 第 21

D21 - MMORPG事件處理問題 背景介紹篇

  • 分享至 

  • xImage
  •  

在前面 D10 - D20 長達 11 天中,我們利用樹狀搜尋問題,展示了

  • 程序式 / 結構式
  • 物件導向
  • 函數式
  • 切面導向

四種程式寫作設計範式在 Python、TypesSript 以及 Kotlin 三種語言上的實作,然而要成為六邊形戰士,我們還缺少最後一個邊

  • 響應式程式設計

因為要用響應式解決樹狀搜尋問題 ... 我實在是掰不下去了,所以我們換個問題

MMORPG狀態同步問題

MMORPG(大型多人線上角色扮演遊戲),在我的年代,最熟悉的就是楓之谷了

一直以來楓之谷都有個致命的問題,就是外掛猖獗。這是因為楓之谷的遊戲機制上,無論是傷害計算、攻擊範圍、角色移動等等事件,都是在客戶端上進行處理,等到計算完畢以後再把得到的經驗值、撿到的寶物資訊等等回傳給伺服器,這樣做雖然簡單有效,但也特別容易讓外掛趁虛而入,想當初有段時間拆WZ檔拆得很開心

為了避免這些問題,比較新的MMORPG多半會更即時的蒐集使用者的資訊,並且在伺服器上進行計算,客戶端也許會進行一些預測計算方便展示動畫,然而比較權威的系統資訊還是會以伺服器的狀態為準。因此如果我們想要做一個伺服器端運算的楓之谷,我們也許會需要用程式來處理這樣的場景 :

接下來幾天會嘗試用不同語言、不同工具建模來解決模擬以上場景。


上一篇
D20 - 樹狀搜尋問題 監控版 Python篇
下一篇
D22 - MMORPG事件處理問題 場景建置篇
系列文
六邊形戰士程式設計30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言